<?php

    class asociadosActions extends sfActions {

    public function preExecute() {
         $this->getUser()->setAttribute('s_menu', 'asociados');
    }

    public function executeLogeo(sfWebRequest $request){

        if($this->getUser()->isAuthenticated())
        {
             $this->redirect('@nuestro_asoc');
        }
    }
    
    
   public function executeDownload(sfWebRequest $request){
      //iniciamos la descarga
       
      $nameFile =  $request->getParameter('nameFile');
      $data = fread(fopen('uploads/documentos/'.$nameFile, "r"),
              filesize('uploads/documentos/'.$nameFile));
      $response = $this->getContext()->getResponse();
      $response->setHttpHeader('Pragma:public', true);
      $response->setHttpHeader('Cache-Control', '');
      $response->setHttpHeader("Last-Modified", gmdate("D, d M Y H:i:s") . " GMT");
      $response->setHttpHeader('Content-Type', 'application/octet-stream');
      $response->setHttpHeader('Content-Disposition', 'attachment;filename="'.$nameFile.'"');
      $response->setContent($data);

      return sfView::NONE;
  }
    
    
    public function executeLogout(sfWebRequest $request)
    {

         $this->getUser()->setAuthenticated(false);
         $this->redirect('@nuestro_asoc');

    }

  public function executeVerificarlogeo(sfWebRequest $request){
         
       
         $usuario = $request->getParameter('usuario');
         $password = $request->getParameter('contrasena');
         $criterio = new Criteria();
         $criterio->add(AsociadoPeer::LOGIN_ASOC, $usuario);
         $criterio->add(AsociadoPeer::CONTRASENA_ASOC, $password);
         $usuarioBean = AsociadoPeer::doSelectOne($criterio);

         if(is_object($usuarioBean))
         {
               $this->getUser()->setAuthenticated(true);
         }
                
         $this->redirect('@asociados');

    }




    function executeOlvido(sfWebRequest $request){
        
            $this->successMessage = $request->getParameter('operation',"error");
        

    }
 function executeNuestro_asoc(sfWebRequest $request){

          
      if($this->getUser()->isAuthenticated())
      {
          $nombre=$request->getParameter('nombre');
            $apellido=$request->getParameter('apellido');
            $empresa=$request->getParameter('empresa');

                $c = new Criteria();
                $c->add(AsociadoPeer::CATEGORIA_ID,1);

                 if($nombre!=""){
                    $c->add(AsociadoPeer::NOMBRE, "%".$nombre."%", Criteria::LIKE);
                }
                if($apellido!=""){
                    $c->add(AsociadoPeer::APELLIDO, "%".$apellido."%", Criteria::LIKE);
                }
                   if($empresa!=""){
                    $c->add(AsociadoPeer::EMPRESA, "%".$empresa."%", Criteria::LIKE);
                }


                    $pager = new sfPropelPager('Asociado', 14);
                    $pager->setCriteria($c);
                    $pager->setPage($request->getParameter('page', 1));
                    $pager->init();
                    $this->pager = $pager;

                    $maxpag=$pager->getMaxPerPage();
                    $this->max=$maxpag;
                    $pagina=$request->getParameter('page',1);
                    $this->pagina=$pagina;
      }  
      else
      {
          $this->redirect('@asociados');
      }
    

    }
        function executePostulante(sfWebRequest $request){
    $nombre=$request->getParameter('nombre');
    $apellido=$request->getParameter('apellido');
    $empresa=$request->getParameter('empresa');

        $c = new Criteria();
        $c->add(AsociadoPeer::CATEGORIA_ID,2);

         if($nombre!=""){
            $c->add(AsociadoPeer::NOMBRE, "%".$nombre."%", Criteria::LIKE);
        }
        if($apellido!=""){
            $c->add(AsociadoPeer::APELLIDO, "%".$apellido."%", Criteria::LIKE);
        }
           if($empresa!=""){
            $c->add(AsociadoPeer::EMPRESA, "%".$empresa."%", Criteria::LIKE);
        }


            $pager = new sfPropelPager('Asociado', 14);
            $pager->setCriteria($c);
            $pager->setPage($request->getParameter('page', 1));
            $pager->init();
            $this->pager = $pager;

            $maxpag=$pager->getMaxPerPage();
            $this->max=$maxpag;
            $pagina=$request->getParameter('page',1);
            $this->pagina=$pagina;

        }

      function executeRetiro(sfWebRequest $request){

         $nombre=$request->getParameter('nombre');
         $apellido=$request->getParameter('apellido');
         $empresa=$request->getParameter('empresa');

        $c = new Criteria();
        $c->add(AsociadoPeer::CATEGORIA_ID,3);

         if($nombre!=""){
            $c->add(AsociadoPeer::NOMBRE, "%".$nombre."%", Criteria::LIKE);
        }
        if($apellido!=""){
            $c->add(AsociadoPeer::APELLIDO, "%".$apellido."%", Criteria::LIKE);
        }
           if($empresa!=""){
            $c->add(AsociadoPeer::EMPRESA, "%".$empresa."%", Criteria::LIKE);
        }


            $pager = new sfPropelPager('Asociado', 14);
            $pager->setCriteria($c);
            $pager->setPage($request->getParameter('page', 1));
            $pager->init();
            $this->pager = $pager;

            $maxpag=$pager->getMaxPerPage();
            $this->max=$maxpag;
            $pagina=$request->getParameter('page',1);
            $this->pagina=$pagina;



        }

      function executePopat(sfWebRequest $request)
      {
            $id           = $request->getParameter('id');
            $asociadoBean = AsociadoPeer::retrieveByPK($id);
            if(is_object($asociadoBean))
            {
                $this->asociado = $asociadoBean;
            }
            else
            {
                return sfView::ERROR;
            }
            
      }


   function executeDocumento(sfWebRequest $request)
   {

      $titulo=$request->getParameter('titulo');
           $autor=$request->getParameter('autor');

           $c=new Criteria();

         if($titulo!=""){
            $c->add(DocumentosPeer::TITULO, "%".$titulo."%", Criteria::LIKE);
        }
        if($autor!=""){
            $c->add(DocumentosPeer::AUTOR, "%".$autor."%", Criteria::LIKE);
        }

       $c->addAscendingOrderByColumn(DocumentosPeer::NUMORDEN);
       $documento=DocumentosPeer::doSelect($c);


            $pager = new sfPropelPager('Documentos', 14);
            $pager->setCriteria($c);
            $pager->setPage($request->getParameter('page', 1));
            $pager->init();
            $this->pager = $pager;

            $maxpag=$pager->getMaxPerPage();
            $this->max=$maxpag;
            $pagina=$request->getParameter('page',1);
            $this->pagina=$pagina;


    }
    
   function executeForgetPassword(sfWebRequest $request)
   {
        $email        = $request->getParameter('correo');
        $criteria     = new Criteria();
        $criteria->add(AsociadoPeer::MAIL, $email);
        $asociadoBean = AsociadoPeer::doSelectOne($criteria);
        if(is_object($asociadoBean))
        {
            try{           
                $message = $this->getMailer()->compose();
                $message->setSubject('Recuperar contraseña Ipdt');    
                $message->setTo($asociadoBean->getMail());
                $message->setFrom(array('lllcesarlll@hotmail.com' => 'Ipdt contraseña'));
                $html = $this->getPartial('asociados/sendEmailPassword', array(
                        'password'=>$asociadoBean->getContrasenaAsoc()
                ));
                $message->setBody($html, 'text/html');
                $this->getMailer()->send($message);
               
                
            }catch (Exception $e){
                
            }
        }
        
         $this->redirect('@asociado_olvido?operation=success');
   }



}